package csc.fresher.service;

import java.util.List;

import csc.fresher.entity.CustomerAccount;
import csc.fresher.entity.CustomerAccountOverall;
import csc.fresher.entity.DepositAccount;

public interface DepositAccountService {

	// HAi Vu Modified And Rename Class
	public DepositAccount getDepositAccountByDepositAccountID(long id);

	public long create(DepositAccount depositAccount);

	public boolean update(DepositAccount depositAccount);

	public boolean delete(DepositAccount depositAccount);

	public void getAccountBalance(DepositAccount depositAccount);

	public List<CustomerAccount> getAccountByCustomerID(long customerID);

	// End Hai Vu Modified

	// Search account by state (@uthor : Nghia)
	public List<CustomerAccountOverall> getAccountByState(String accountState,
			String accountType);

	public List<CustomerAccountOverall> getAccountByIDCardNumber(
			long idCardNumber, String accountType);

	public List<CustomerAccountOverall> getAccountByFirstName(String firstName,
			String accountType);

	public List<CustomerAccountOverall> getAccoungByPhoneNumber(
			String phoneNumber, String accountType);

	public List<CustomerAccountOverall> getAccountByAddress(String address,
			String accountType);

	public List<CustomerAccountOverall> getActiveAccountByIDCardNumber(
			long idCardNumber, String accountType);

	public List<CustomerAccountOverall> getAccountByAccountNumber(
			long accountNumber, String accountType);

	public List<CustomerAccountOverall> getAccountByEmail(String email,
			String accountType);

	public List<CustomerAccountOverall> getAllAccountByIDCardNumber(
			long idCardNumber);
}
